{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns; sns.set()\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "from path_explain.path_explainer_tf import PathExplainerTF"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_samples = 1000\n",
    "sqrt_samples = np.ceil(np.sqrt(num_samples)).astype(int)\n",
    "spaced_points = np.linspace(start=0.0, stop=1.0, num=sqrt_samples, endpoint=True)\n",
    "product = np.outer(spaced_points, spaced_points).flatten()\n",
    "\n",
    "num_drawn = len(product)\n",
    "slice_indices = np.round(np.linspace(start=0.0,\n",
    "                                     stop=num_drawn-1,\n",
    "                                     num=num_samples,\n",
    "                                     endpoint=True)).astype(int)\n",
    "product = product[slice_indices]\n",
    "\n",
    "ones_map = np.ones(sqrt_samples)\n",
    "beta = np.outer(spaced_points, ones_map).flatten()\n",
    "beta = beta[slice_indices]\n",
    "\n",
    "alpha = np.outer(ones_map, spaced_points).flatten()\n",
    "alpha = alpha[slice_indices]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "assert np.all(alpha * beta == product)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "explainer = PathExplainerTF(None)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_samples = 10000\n",
    "samples = np.random.uniform(low=0.0, high=1.0, size=num_samples)\n",
    "samples = np.exp(-samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f8cc04ea890>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "sampled_alphas = np.random.uniform(low=0.0, high=1.0, size=num_samples) * np.random.uniform(low=0.0, high=1.0, size=num_samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f8cbe359550>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW0AAAD7CAYAAAChScXIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deXSc133e8e87M9jXwWCwEhsJ8gKkSIqbRFq2ZGu3ZEc6TpzaTmI3Se06p8dp2tPTkyZ1s7RJ3B77tCe7k9iOJS+yE8eSLcvWLpkUtVBcRIrLywULSez7NsAAmJn+AZABKYAYgJjlnXk+5+jYmPedmd8FMQ8u7nvfe61IJIKIiDiDK9EFiIhI9BTaIiIOotAWEXEQhbaIiIMotEVEHMQT49fPAvYAXUAoxu8lIpIq3EAlcAgILjwQ69DeA+yP8XuIiKSqDwAHFj4Q69DuAhgamiAcTu754D5fPgMD44kuY02oLclJbUlOydgWl8vC682D+QxdKNahHQIIhyNJH9qAI2qMltqSnNSW5JTEbXnPsLIuRIqIOIhCW0TEQRTaIiIOotAWEXEQhbaIiIMotEVEHEShLSLiILGep+0YY4FpJoKzix7LyvDg0a83EUkCCu15k1OzHDrds+ixPc3leLL0rRKRxFP/UUTEQRTaIiIOotAWEXEQhbaIiIMotEVEHEShLSLiIAptEREHUWiLiDiIQltExEEU2iIiDqLQFhFxEIW2iIiDKLRFRBxEoS0i4iAKbRERB1Foi4g4iEJbRMRBFNoiIg6yotA2xvyBMSZijLklVgWJiMjSog5tY8xOYC/QHrtyRETkRqIKbWNMFvBXwG/FthwREbmRaHvafwx8y7btthjWIiIiy/Asd4IxZh+wG/jd1b6Jz5e/2qfGTe9ggIL87EWP5eZm4S/JjXNFN8fvL0h0CWtGbUlOaktiLBvawF1AM9BqjAFYBzxrjPl127afi+ZNBgbGCYcjq68yHtxuxsanFj0UCATpC4XiXNDq+f0F9PWNJbqMNaG2JCe1JbZcLmvJzu6yoW3b9peAL1352hjTBnzEtu1316g+ERGJkuZpi4g4SDTDI9ewbbs+BnWIiEgU1NMWEXEQhbaIiIMotEVEHEShLSLiIAptEREHUWiLiDiIQltExEEU2iIiDqLQFhFxEIW2iIiDKLRFRBxEoS0i4iAKbRERB1Foi4g4iEJbRMRBFNoiIg6i0BYRcRCFtoiIgyi0RUQcRKEtIuIgCm0REQdRaIuIOIhCW0TEQRTaIiIOotAWEXEQhbaIiIMotEVEHEShLSLiIAptEREHUWiLiDiIQltExEEU2iIiDqLQFhFxEIW2iIiDKLRFRBzEk+gCnMByWUwEZ5c8npXhwaNffyISBwrtKARnQrxztm/J43uay/Fk6VspIrEXVdIYY54EGoAwMA58wbbtY7EsTERE3iva7uFnbNseATDGPAJ8HdgZs6pERGRRUY3EXgnseUXM9bhFRCTOoh6INcb8A3A/YAEPxqwiERFZkhWJRFb0BGPMrwGftG37oShOrwdaV1FX3PUOBjhi9y56zNR5sduHlnzuTlNGWUlurEoTkfTVALQtfGDFUx5s237cGPN3xhifbdsD0TxnYGCccHhlvxzizu1mbHxq0UMzM7NLHgMIBIL0hUKxqmzF/P4C+vrGEl3GmlBbkpPaElsul4XPl7/4seWebIzJN8bULPj6o8Dg/H8iIhJH0fS084B/MsbkASHmwvqjtm0neddZRCT1LBvatm33AHvjUIuIiCxDt/GtwPRsiMHRIKMT04wFpqkuzafCpwuQIhI/Cu0oTc+G+NH+NgIL1iA53TbMPburE1iViKQbhXaUTrcNEQjO8v5tlZR5c/C4XTz31kVePtLB9kY/m+u8iS5RRNKA1qaLwsTkDKdah6gtz2d9VSH5ORlkZ7q5d3cN2Zke/uaHJ+jsn0h0mSKSBhTaUXj5yGVmQmFubSy95vHcbA/37l6Hy2XxN0+9Syisu/tFJLYU2ssITM1y4J0uGioLKC7Ies/xwrxMfvnujXT0TfDqsc4EVCgi6UShvYwTLQOEQmG2X9fLXmh7o4+m2mKe3N/KxNRMHKsTkXSj0L6Bmdkw5y6NsLu5nMK8zCXPsyyLT9yzkYmpGZ464IilVkTEoRTaN9A7FCAcibBjk3/Zc2vLC7hrexUvHe7QRUkRiRmF9g10DwZwWVBfWRDV+Y/euZ6sTDfff/l8jCsTkXSl0L6B7sFJSotzyMxwR3V+YW4mD++r4/iFAc53jCz/BBGRFVJoL2F6JsTgyBQVK1wn++6d1RTkZvDU/pYYVSYi6UyhvYTeoUkiEFVoWy6LieAsE8FZQhG4Z3cNJ9uGeOfCALOaui0ia0i3sS+hezCAy2XhL85e9tzgTIh3zvZd/To3y01OlpvvvXiO3/9MEZ4sfZtFZG2op72E7sEA/uJs3O6Vf4s8bhe3NPjoHgxw9tJwDKoTkXSl0F5EcGZuCdaVjmcvtKmmiJwsDz852MZK9+EUEVmKQnsRvUOTQHTj2Utxu11s3VBCS+coJ9u0M5uIrA2F9iK6BwK4XRalUYxn38jGdUV4C7J4cn+retsisiYU2ovoHgzg9+bgdt3ct8ftcvHA7bW0dI5y/EJUG9eLiNyQQvs60zMhhsZubjx7ob2by/EXZ6u3LSJrQqF9naGxIAC+wpsbGrnC7XbxC3c00N4zxpGz/WvymiKSvhTa1xkanwttb8HSq/qt1N4t5ZSX5PLUgRbC6m2LyE1QaF9neCxIpsdFzhreEON2uXj0/Q1c7pvgzZM9a/a6IpJ+FNrXGRqbprggC8uy1vR19zSXUVuezw/3tzCje9tFZJUU2gtEIhGGx4N4F9lW7Ga5LItf+uAG+kemeOVox5q/voikB4X2AoGpWWZmwxTnr9149sLFpOorC9lUU8yPD7bRPzqlxaREZMUU2gtcuQi52Aa+qxWcCXHodA+HTvfw9pleGtcVMT45w7eetQnOzK7Z+4hIelBoLzA8P92vOH/th0euKC3Kpq6igFNtg4zM/5IQEYmWQnuB4fFpcrM9ZEW5U81q7dhYSjgc4emDbTF9HxFJPQrtBYbGgjHtZV9RmJdJU52XN0/20N49FvP3E5HUodCeFwqHGZmYXtObam5k2wYfeTkZfO+lc7q9XUSiptCe1zMYIByOxKWnDZCZ4ebD++o4c3GYo+d0e7uIREehPa+jbwJY25kjy7ljayVVpXl8/6XzuuFGRKKi0J7X0TuGBRTnxWd4BMDtsvjEPY30Dk/y3KGLcXtfEXEuhfa8y73jFORlrmpPyNWyXBYNVUVsa/Tx49fauNQ3fvVGnIngrG6+EZH30Dbh8zr6xvGu4Z2Q0biyi3tjVREnWwb5+tOnuGtH9dXje5rLtZO7iFxDPW0gOB2ib2gyruPZC+XnZrB1fQntPeN09k8kpAYRcYZlu3HGGB/wOLABmAbOAf/etu2+GNcWN92DASLE9k7I5WxpKOF8xyiHTvfykTvqcbvWdpVBEUkN0fS0I8D/sW3b2La9FbgAfCm2ZcVX92AAmLvpJVHcbhe3NZcxMjHNyVbt3i4ii1u2p23b9iDwyoKH3gB+K1YFJULPfGgX5GYktI51ZfnUledz/MIA9RUFCa1FRJLTisa0jTEu5gL7R7EpJzF6hgKUFGbjiePMkaXsaS7H7bJ442SP7pQUkfdY6dSEvwDGgb9cyZN8vvwVvk18DYwFqfDlUpC/+Ga+GRmeJY8td3ylxwry4X1bK3n1aAfvXBjk0Q82RtmKa/n9qdNTV1uSk9qSGFGHtjHmy8BG4KO2ba9oBvHAwDjhcHL2GiORCJd7xrn9lgrGxqcWPWdmZnbJY8sdX82x2rI8/MXZPPG8zdYGL4W5Kxtr9/sL6OtLjYWo1JbkpLbElstlLdnZjWo8wBjzp8Au4FHbtlNqEeixyRkCwVnKS3ITXcpVlmWxb0sFwZkQ33rubKLLEZEksmxoG2O2AP8NqAIOGmOOGWN+GPPK4qR3cBIgqUIb5tZA+fDeOt4+08tbp7WDu4jMiWb2yEkgZScNX5nuV16Sx9DIZIKrudY9u2t4t2WQx5+1MTXFFCVwHrmIJIfET5dIsJ6hAG6XRWnx0hcaE8XtsvjNh5sJzoT55s9szSYREYV2z2CA0uIc3K7k/FZUlebxsTvXc+x8P/uPdyW6HBFJsORMqjjqHpykwpuT6DJu6P49NTTXefnO82fp0NokImktrUM7HInQOxRIuouQ13O5LD770c1kZbr526feZXomlOiSRCRB0jq0h8eCTM+Gkz60YW4xq89+ZDMdfRM88eK5RJcjIgmS1qF9Zc2RZB0esVzWNZsiNFQXce/uGl451slr73YnujwRSYC0XmG/eyg552hfcWWThIUqSnIo9+bw2E/PUOXLpaGyMEHViUgipH1PO9PjStjmB6vhclnctaOKgrwM/uIHxxkaS6kbVEVkGWkf2mXeXFyWs+4dys708Llf2MJkMMRf/ssJXZgUSSNpHdrdQ5NUlCTnePZyqv35fPajm2ntGuWrPzpJKKxdgEXSQdqG9mwoTP/wZNKOZ0dj5yY/n7p3I0fP9fONZ84Q1h2TIikvbS9EDoxMEQpHKPc6N7QB7t1dw2Rwlh/ubyUn08On7tuY6JJEJIbSNrR7hq4sFOXM4ZEr0wEBPrRrHSOBGV48fJkwEf7do1sTXJ2IxErahnZ3ki7JGq3rpwNWl+bSVFvMy0c6CM6G+fUHTdKupyIiq5e2od0zFCAny0NBTmI3810rlmWxp7mMrEw3B493EQjM8PlHtpCZ4U50aSKyhtK2K9YzGKCiJAfLYdP9bsSyLLY3lvIrDzTxzvl+/vd3jjI4uvQ2aSLiPGkc2pOOvwi5lLt31/AfPraVroEJ/ugfD3G6fSjRJYnIGknL0J6ZDTE4OuXY8exo7Nzk54uf2U1+TgZfeeIYP3m9LWk3VxaR6KVlaPcOTRIBypN0oaibNRsKMxGcpTA/i//8iVvZvrGUH7zawv96/G1au0eZ1X04Io6Vlhcie5J8oaibFZwJ8faCzYBvafCSn+3hzdM9/Oljh/noHfU8tLcOjzstf2eLOFqahvb8HO0U7Wlfz7IsGqoKKS/J5Y2T3Ty5v5U3T/Xwqfs2saW+JNHlicgKpGVXq2cwQEFuBrnZqTHdL1q52R4+tLOaz/3CFmZDYb7yxDH+4gfHtYWZiIOkZ087hWeOLMeyLLZu8LFrUynPvnWJZ95o53987U3ed0sFj7y/gdKi9PjrQ8Sp0jO0hwJsaUjvYYEMj5uPvK+eu26t4pk32nnxcAdvnOzhjq2VPLyvDn+xwlskGaVdaE9NzzI8Pp22PW24dt0Sl9vFR+5o4I5tVTx/6BIH3+3iwPEu9t1SzkN766j05SW4WhFZKO1Cu3d+5khFis4cicZi25gBNFQWcP9tNbx6pINX3+nk4IludjeV8fC+OmrLCxJQqYhcL+1Cu3t+M9+yNJk5slLewmweuXM9d+9ex8tHOtj/TieHzvSybYOPB/fW0VhdjCctL1+LJIe0C+2rc7TTeHjkRhb2wit9uTzygQbOtA9xum2I4xcG2Lrex8c/uIF1ZfkJrlQkPaVdaPcOBvAWZJGVqdXvopGV4WZ7YynNdV7OtA9hXxrmD77+Fruby3h4Xz2+ouwF53rUCxeJsbQL7e6hQNrcVLOWMjPcbGss5RfvbuSJ589xxO7j8Jk+Ntd72brBR4bHxZ7mcjxZafcjJRJXadcv6hl09r6QiZabncEu4+fROxuoryzg3dZBntrfSmvnKBHtUSkSc2kV2hNTM4xPzmg8ew3kZWfw/m2VfPj2WnKy3Ow/3sVf//Bd+ocnE12aSEpLq9DuubLFmIZH1ozfm8ND++q4bXMZrZ2jfPFrb/H8oUtaBlYkRtIqtLsH59bY0PDI2rIsi6ZaL7//b3ezYV0R333xHH/27cO0944xEZxlIjir5WBF1khaXTXq6J/A7bI0RztG8nIy2LWpFG9+Jm+d7uVPvvk2e5rLaawu5LbNFbpIKbIG0upT1Nk3QYUvV+tIx5BlWWyoLqK8JJfXTnTx+rvddPSNs6XBR55CW+SmpVV6dQ5MUF2qtTTiIT8ng/v31LDL+LncO86fPX6YU22DiS5LxPGWDW1jzJeNMa3GmIgx5pZ4FBULwZkQ/cNTVGkBpLixLIstDSV8eF8d2VluvvLEMb7/8nlmNMAtsmrR9LSfBO4E2mNcS0x1DUwQAarU0447X2E2//VTO7nr1ip+9uZF/uSxt+nUxgsiq7JsaNu2fcC27UvxKCaWOvrmQqLar9BOhMwMN59+sIkv/OJWBseC/NE/HuLFw5cJ64YckRVJmzHtzgHNHEkGOzb6+Z+/eRtNtV6+/fxZvvLEMd2QI7ICcbmc7/MlfkW4/tEg68ryqSgvWvR472CAgvzsRY9lZHiWPLbc8dUeu9nnxup1V/vczKwMIvOzdgqLcvmPn9jB/mMdfO+Fs3zx62/xqQcMj97ZiMtlvee5fn/qrOWttiQnJ7UlLqE9MDCe8DvkWjtGWF9VSF/f2OInuN2MjU8temhmZnbJY8sdX+2xm31urF53tc8dDwQX3XjhoX11HHy3m2/8+BQ/P3yZX3vAXLPhgt9fsPS/mcOoLckpGdvicllLdnbTYngkOB2if2RKFyGTUH5OBvftXsenHzT0Dk/yx//4Nt994RzjkzOJLk0kKS3b0zbG/DnwMaACeMEYM2Db9paYV7aGOgfmL0IqtJOSZVnsaS5ntynjB69e4IXDl3jtRBcfeV89n3iwKdHliSSVZUPbtu3fBn47DrXEzJXpZeppJ7f8nAw+82AT9+xaxz+9fIHvv3yel452cP/uddy5vYrMDG1cIZIW9xV39k/gcWvmSDJbuEO8tzCbzz2yhTPtQzx36BLfeeEcTx9s497dNdy5vYrCvMwEVyuSOGkR2h39E1SU5OJ2pcUQviMttUP8/bfX8dDeWl54+zL/8vMWnjrQyp6mMu66tYqNNcW4rPfONhFJZWkR2p39E6yvKkx0GbJKG2u9NK4rpnsgwIHjnbx5qoc3TvVQUpjF3i0VvG9LhYa+JG2kfGhfmTny/m2ViS5FVmlhL7yuooCq0jwu9ozR0jnKT99o55nX26n05bLLlLHb+Kkpy8dSD1xSVMqHtmaOpJ4Mj4sN1UVsqC5iU00xp1oHOXK2j5+83sbTB9vwFWZxa6OfWzeWYmqLtRSvpJSUD+0ra47oz+fUVFyYzb6tlezbWslYYJoTFwZ4t2WQnx/v5MUjl8nOdLNtg49bG0vZtsFHbnZGoksWuSkpH9qtXaPkZLm1xViKuv4CZobHxY5NpWzdUELXQICp6RAnWwZ463QvbpdFc52XnZv87Nzk1ywUcaSUD+0LnSM0VBZqlkGa8bhd1JTlc9uWCkKhMO1dY7xzvp/jF/p57Fmbx5+zMTVe9jSXscv4KcxVgIszpHRoB2dCXO6d4KF9dYkuRRJkYU+82p9HVWkuw+NB2rvH6R4M8PizNt9+7izNdcXc1lzOTuMnT0MoksRSOrTbu8cIRyKa7idXWZaFtyAbb0E2u5vKGB4N8taZHt461cs3fnqGx5612Vxfwu4mPzs2+snPUYBLcknp0L7QOQKg0JZFudwuvEXZPHB7HfffVsulnnGOnO3j6Lk+TjwzwDctm43ritixsZRtjaWUe3M0lVASLqVDu6VjlLLiHI1XyqIWuwvzyhBKeUkeZ9oHOXqunydeOs8TL53HV5jF5voSmuu8bKoppqRw6XXHRWIlZUM7EolwvnOE5jpvoksRh7Esi/qqQuoqCnjg9jr6hyc53T7EmYtDvG33sv94FwC+wqyr88Ubq4uoKcvH43YxG4bgzOx7XjcyGCAQnCUrw4NHU8dllVI2tIfGgoyMT7O+UkMjsnLX98KzM91X53oPjQXJycrgwuVhzl4a5q3TvcDcdMP6igIaqooIh8OUeXOuubGnID+bsfEp9jSX48lK2Y+exFjK/uS0dI4CsKF68e3FRFbDZVn4CrPZvslPbpabrRt8TEzN0Dc8Rd/QJL1Dk1zouEg4Mrf7SLk3h6rSPGrK8m+4jZtItFI2tC90jlydqysSS3nZGeRVZFBfMbdNWlN9CS8eukRn/wRdAxMctvs4bPdRUpjNOn8e68ryaaxSZ0JWJ4VDe5T6igKtOyFxl5XpptqfR7V/bumE8cAMl3rH6eif4MSFAY5fGGCdP5/bN5dxe3M5pcVa512il5KhPRsK0949xod2VCe6FBHyczNorvdy2y2V9A6MEwGOne3nB6+28INXW2hcV8S+zeXsairTTCdZVkqG9uW+cWZmw5qfLUknJ8vDnuZyHpqflfLm6R7eONnD48+d5dvPn2Nzg5fbm8vZsdFPbnZKfjzlJqXkT8W5y7qpRpJfaXEOD++r56G9dVzum+DNUz28ebqHr/3kNB73GZrrStixqZRb1vvIyfJoqqAAKRrax871U1GSi083P4gDWJZFTVk+NWX5PLi3lp++0U5b1xgXOkc40TKAy7KoKs3lgzvXsbe5TMvLprmUC+3xyRnsi8N8eG+tbjkWx7EsC39xDv7iHHY3+ekbnqK9e4z2njG+9azNd58/y+b6EnYZPzs2llKgMfC0k3KhffRcH+FIhF3Gn+hSRG6KZVmUeXMo884FeLkvj6N2H8fO9XOiZYDHfgYba4q5dWMp2zaU4i/O1fBJGki50D5s91FalE1deUGiSxFZlOWymAi+9zZ3gHBkiedYFpWlefQOBqgqzWVwNEh7zxjt3WPYF4f53ovnWV9VyG5Txo5NpZR7telHqkqp0J4MznKqbZC7d67T0IgkrcUWqrpi+6bl/0K0LAtfUTa+omx2bCxleDzIxZ5x+kem+P7L5/n+y+fxF+ewpaGE5novG6qKKMzLUi88RaRUaL9zoZ/ZkIZGJH0sXB98+yY/B4510NE3weW+CX7+TievHO3AsqC+opCm2mIaKgupryzAV5itjo1DpVRoH7b7KMrP1HojkrYKcjNpqsukqc7LbChM79AkPYMBxidnee7QJULz4y952R6qSvOoKs2joiSX0qIc/MXZlBZlk5PlUaAnsZQJ7eBMiBMtA9yxtVL7QYowt0/mlWDe01xOptvF5b5xWrtGudQ7Tmf/BG+f6WVi6trx9awMN96CrGv+KynIwrcg2K9YahnaudfRvPJYSJnQfrdlkOmZMLuiGBMUSTeWy2I6FKasJJeyklxu3zL3eCQSYXoWegbHGRiZYnAsyMh4kOGxIEPjQbrbA4yMTxOO/OsVUgvwl+RSXpyD35vD9EwIX2EWhXmZ1/TQtQRtbKTEdzQSifDi4UsU5mViaosTXY5I0lnu4mfPYACAwtwMCnMzrlkdc3dzOSPjQQZHphgYnaJveO5/O/rGOd0+yGxoLtA9bovS4hzKiuemKQanQ+QptNdcSnxHT7QMcObiML9y3ybcLv09JrKWZkJhzl0avvq1vzib9euKaRqf4pbGUvYf7WBgPtB7hyY5cWGACPDSkQ4aKgtoqvXSVOelsbqIrAx34hqSIhwf2uFwhH9+5QJl3hzuurUq0eWIpBW3y7o67t3I3ASA6dkQ/cNTWJZFS+cIP3vzIj95vR2P22J9VRFNtcU01XrZUF1IhkchvlKOD+3XT3ZzuW+Czz+yRWtniySBTI/76sXPvCwPU9OznLs8wun2IU63D/Hjg2386LU2PG4XG6oK2VRTzKbaYhqrisjKVIgvx9GhPTMb4of7W2ioLGBPU1miyxGRBRbe+bm+uoj11UU8/L56AlOzXOgYoaVzlPOXh3n69TYiB+d67XUVBXMhXlPMpnVFWhxrEY4O7acPtjM4GuQ3H96seaUiSeZGFz8BHr1rPZFwhMngLK1do1zoGOH85RFeePsSP3vzIhZQU56PqfHSVDcX5HkKceeG9jNvtPPjg23s21JOc5030eWIyApdH+oVJblUlOQyGyqn1JvLuYvDnO8Y5pWjHTz/9iUsoLosn43rithS76OptjgtN4pwZIt/9ForT+5vZe/mcn7j4eZElyMia8jjdlFXUcDw6BT+4gpuay6jf3iK7sEA3QMBXj3ayctH5m7Pry0rwNTO9cIbq4sozEv9pWqjCm1jzCbgm4APGAA+bdv2uVgWtpjeoQBPH2znwIku3ndLBb/xUDMul4ZFRFKZ2+WivCSX8pJctjfO7QHrK8qhvWuUs5eGeelIB88dugTMTUfcUF1EfXkBdRUF1JQVpFxvPNrW/C3wV7Ztf8sY86vAV4G7Y1fWvxqdmKate4wDJ7o4bPfidlk8cFsNH/9Qo25XF0lDHrcLU+dlU00x991Wy8xsmEs9Y7R2jdLSNcqZ9iHeONlz9XxvQRZVvlwqfHn4i7LxFeVQWpRNUX4mBbnOGyNfNrSNMWXATuC++Ye+C/ylMcZv2/bSVxnmuIFV9YZfOdbBgeNdjE5MA5Cd6eGXP7SRO7ZVxGTH6ojLWvJKtcftuuFV7BsdX+2xm3vdpduSuJpW97o5WR5H1XujYzlZHkKzGUlV02pf92bbcrM1hcIRTrcOXvNYhS+PCl8ev/WxbYyNB+kaCNA9OEHf8BT9w5PYl4Y50RK65jkWkJebSXamm5xMN9mZbrIyPGR4XGR4LDxuF263C7fLwuWycFngsiwsy8ICrvYb57/Ggvn/h784h831q7vetiAz3zMH0opEllh1fZ4xZhfwmG3bWxY8dgr4Vdu2jyzz3u8H9q+oWhERueIDwIGFD8R6sOfQ/Jt2AaFlzhURkTluoJK5DL1GNKF9Cag2xrht2w4ZY9xA1fzjywly3W8JERGJyoXFHlz2vm/btnuBY8An5x/6JHA0ivFsERFZY8uOaQMYY5qYm/LnBYaYm/Jnx7g2ERG5TlShLSIiyUHL4omIOIhCW0TEQRTaIiIOotAWEXGQ1FpJZRnRLHw1Pw/9z4EHgQjwJdu2/yHetS4nyrZ8EfgEczc2zQC/Z9v2s/GudTkrWZDMGGOAo8Bf27b9X+JXZXSibYsx5peBLzJ3J3UEuNe27Z7rz0ukKH/GyoBvADVABvAy8Nu2bc/GudwbMsZ8GfhFoB7Yatv2u4uc44jPfks05kUAAAMOSURBVLr1tK8sfLUJ+CvmFr663q8AjcBGYB/wh8aY+rhVGL1o2vIWsMe27W3AbwDfM8bkxLHGaEXTlisfqq8CT8axtpVati3GmN3AHwL32bZ9C3PLPYzEs8goRfPv8nvA6fmfsW3ALuBj8Ssxak8CdwLtNzjHEZ/9tAntBQtffXf+oe8CO40x/utO/TfA39u2HZ6/gehJ4OPxq3R50bbFtu1nbdsOzH95nLlenS9uhUZhBf8uAL8LPA2cjVN5K7KCtvwn4Mu2bXcD2LY9Ytv2VPwqXd4K2hIBCowxLiALyAQ64lZolGzbPmDb9nJ3cSf9Zx/SKLSZ+/Otw7btEMD8/3bOP75QLdf+Nr64yDmJFm1bFvo0cMG27ctxqG8lomqLMWY78ADwf+NeYfSi/XfZDKw3xvzcGHPEGPPfjTHJts5wtG35n8Am5tYX6gaetW37tXgWuoac8NlPq9BOW8aYu5j7cH1yuXOTkTEmA/g74PNXQsTh3MwNJdwH3AV8GPi1hFa0eh9n7q+4SqAauNMY80uJLSm1pVNoX134Cq6Ojy628NVFoG7B17WLnJNo0bYFY8w+4FvAo0m69EA0bakENgDPGGPagN8BPmuM+bv4lrqslfyM/bNt20HbtseAp4Db4lrp8qJtyxeAb88PKYww15YPxbXSteOEz376hPYKFr76J+YCwTU/fvco8M/xq3R50bbFGLMH+B7wS1GsfZ4Q0bTFtu2Ltm2X2rZdb9t2PfD/mBt7/FzcC76BFfyMfQe43xhjzf8VcQ/wTvwqXd4K2tLK3GwLjDGZwL3Ae2ZmOETSf/YhjUJ73ueBLxhjzjLXQ/g8gDHmmfkr+gCPAy3AOeAN4I9t225NRLHLiKYtfw3kAF81xhyb/29rYsq9oWja4hTRtOUJoBc4xVwwngS+loBalxNNW34H+IAx5gRzbTkL/H0iir0RY8yfG2MuA+uAF4wxJ+cfd9xnXwtGiYg4SLr1tEVEHE2hLSLiIAptEREHUWiLiDiIQltExEEU2iIiDqLQFhFxEIW2iIiD/H9T0vX8Ly3shAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.distplot(sampled_alphas)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy.special import lambertw"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "spaced = np.linspace(0.0, 1.0, np.ceil(np.sqrt(num_samples)).astype(int))\n",
    "x = np.outer(spaced, spaced)\n",
    "x = x.flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "points = np.linspace(0.0, 1.0, num_samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f8cbbb85710>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x=points, y=np.sort(sampled_alphas))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f8cbb693c50>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x=points, y=np.sort(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "num_samples = 10000\n",
    "sqrt_samples = np.ceil(np.sqrt(num_samples)).astype(int)\n",
    "num_drawn = sqrt_samples * sqrt_samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "slice_indices = np.round(np.linspace(start=0.0, stop=num_drawn-1, num=num_samples, endpoint=True)).astype(int)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10000,)"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x[slice_indices].shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "product, beta = explainer._sample_alphas(99, False, True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7fc7c96c1450>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.lineplot(x=np.linspace(0.0, 1.0, 99), y=np.sort(product))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
